const http = require('http')
const express = require('express')
const app = express()
const server = http.createServer(app)
const io = require('socket.io')(server)
// 监听端口服务器用 server对象
server.listen(3000, '127.0.0.1', () => console.log('http://localhost:3000'))
// 静态资源不受影响
app.use(express.static('./public'))

// 等待客户端连接
io.on('connection', socket => {
  // 临时变量，保持姓名
  let username = ''

  // 广播给所有的人，欢迎通知
  // io.emit('message', '【系统消息】: 欢迎进入聊天室')
  // 除了不给自己广播数据外，给所有的在线用户广播数据
  socket.broadcast.emit('message', '【系统消息】: 欢迎进入聊天室')

  // 反馈给客户端连接成功
  socket.emit('open', 'ok')
  // 接受客户端发送过来的姓名，保存
  socket.on('name', uname => username = uname)

  // 接受客户端发送过来的数据
  socket.on('message', data => {
    // 主动给客户端发送数据  send语法糖 emit('message',内容)
    /* socket.emit('message', '【' + username + '】说：' + data + ' -- ' + new Date().toLocaleTimeString()) */

    // 广播给所有的人
    io.emit('message', '【' + username + '】说：' + data + ' -- ' + new Date().toLocaleTimeString())
  })

  // client.on('disconnect', () => { /* … */ });
});



